package org.springblade.modules.auth.service;


import org.springblade.modules.auth.dto.WeComDto;
import org.springblade.modules.auth.entity.WxAppLoginVo;
import org.springblade.modules.system.entity.UserInfo;

import java.io.IOException;


/**
 * 企微服务类
 *
 * @author 14866
 * @date 2023/07/11
 */
public interface IWeComService {


	/**
	 * 获取访问令牌
	 *
	 * @return {@link String}
	 */
	String getAccessToken();

	/**
	 * 获取用户信息
	 *
	 * @param code  代码
	 * @param token 令牌
	 * @return {@link String}
	 */
	String getUserPhone(String code, String token) throws IOException;

	/**
	 * 小程序登录
	 *
	 * @param weComDto 小程序登录参数
	 * @return {@link UserInfo}
	 */
	UserInfo loginWechat(WeComDto weComDto);

	/**
	 * 获取开放id
	 *
	 * @param code 代码
	 * @return {@link WxAppLoginVo}
	 */
	 WxAppLoginVo getOpenId(String code);
}
